package controller;

/**
 * Cette interface permet de transmettre de maniere detournee l'IHM au
 * controleur. En effet, selon le principe MVC, le controleur n'est pas cense
 * connaitre la vue ; or il faut pouvoir rafraichir l'IHM quand le controleur
 * recoit certaines informations (nouveau copain, fichier en attente...). Pour
 * cela, on cree une interface Refreshable dans la couche controleur, que la vue
 * viendra implementer ; puis, elle se donnera au controleur non pas sous
 * l'appellation IHM mais plutot Refreshable, que le controleur connait.
 * 
 * @author Flo
 * 
 */
public interface Refreshable {

	/**
	 * Methode permettant de rafraichir. Comme l'implementation peut avoir plus
	 * ou moins de choses a rafraichir, cette methode ne prend aucun parametre.
	 * C'est a l'implementation d'avoir des liens vers tout ce qui lui est
	 * necessaire pour se rafraichir.
	 */
	public void refresh();
}
